package math.leetcode_136;

import java.util.Arrays;

public class Sort {
    public int singleNumber(int[] nums) {
        Arrays.sort(nums);
        // 题目保证除了只出现一次的数字外，其余数字只出现两次
        // 利用双指针，每个数字与下一个进行比较，相等时增量为 2 （跳过重复元素）
        for (int i = 0, j = 1; j < nums.length; i += 2, j += 2) {
            if (nums[i] != nums[j]) {
                return nums[i];
            }
        }
        // 可能最后一个元素只出现一次
        return nums[nums.length - 1];
    }
}
